跳到主要内容

1.4 SR触发器

在本教程中,我们将讨论数字电子学中的一种基本电路,即SR触发器。我们将探讨使用与非门和或非门构建的SR触发器的基本电路、工作原理、真值表、时钟控制的SR触发器,以及一个简单的实际应用。

SR触发器的设计(使用逻辑门)

到目前为止,我们已经了解了多路复用器、多路分用器、编码器、译码器、奇偶校验生成器和校验器等电路,这些电路被称为组合逻辑电路。在这些类型的电路中,输出仅依赖于输入的当前状态,而与输入或输出的过去状态无关。

除了短暂的传播延迟外,组合逻辑电路的输出会在输入发生变化时立即改变。

还有一类电路,其输出不仅取决于当前输入,还取决于过去的输入/输出。这些类型的电路被称为时序逻辑电路。我们如何获取“过去的输入/输出”数据呢?我们需要某种“存储”功能,以便能够存储数据以供后续使用。能够存储数据并作为“存储单元”的设备或电路被称为锁存器或触发器。

注意:虽然“锁存器”和“触发器”这两个术语将被交替使用,但严格来说它们略有不同。简单来说,触发器是一个由时钟控制的锁存器,即输出仅在有时钟信号(高电平或低电平,具体取决于设计)时才会改变。

什么是触发器?

触发器是一个基本的存储单元,能够存储1位数字信息。它是一个双稳态电子电路,即它有两个稳定状态:高电平或低电平。由于触发器是一个双稳态元件,其输出会保持在其中一个稳定状态,直到施加外部事件(称为触发信号)。

因为它在输入施加后很长时间内仍保持输出(除非采取措施改变它),所以触发器可以被视为一种存储设备,能够存储一个二进制位。

一个简单的触发器可以使用两个反相器串联设计,第二个反相器的输出反馈到第一个反相器的输入。以下电路展示了使用反相器的触发器。

alt text

假设Q1Q_1是输入,Q3Q_3是输出。最初,假设反馈断开,通过将其连接到地,将Q1Q_1设置为0(逻辑0,低电平,比特0)。此时,Q3Q_3也将是0。现在,如果连接反馈并断开输入Q1Q_1与地的连接,Q3Q_3仍将保持为0。

alt text

同样地,如果用1(逻辑1,高电平,比特1)代替地,重复上述过程,输出Q3Q_3将保持为1。

alt text

这是一个简单的具有两个稳定状态的触发器,它保持在一个特定的状态,因此可以作为存储单元,直到发生外部事件(如输入变化)。

SR触发器概述

上述基于反相器的触发器仅用于理解其工作原理,但由于没有提供输入的接口,因此它没有实际用途。这就是与非门和或非门发挥作用的地方。上述基于反相器的触发器可以使用或非门实现,如下所示。

alt text

忽略“R”和“S”的值,让我们重新绘制上述电路,使其更具传统形式,并将Q2Q_2重命名为QQQ3Q_3重命名为Q\overline{Q}

alt text

从这个电路可以看出,触发器有两个输入:R和S,以及两个输出:QQQ\overline{Q},并且从表示中可以清楚地看出,这两个输出是互补的。让我们尝试分析输入的不同可能性及其对应的输出。

需要注意的一个重要点是,对于或非门,逻辑“1”是一个占主导地位的输入,如果其任何一个输入是逻辑“1”(高电平),那么输出将是逻辑“0”(低电平),而与另一个输入无关。记住这一点,让我们分析上述电路。

情况1:R = 0,S = 0

在第一种情况下,两个或非门的输入都是逻辑“0”。由于它们都不是占主导地位的输入,因此它们对输出没有影响。因此,输出保持其先前的状态,即输出没有变化。这种条件被称为保持条件或无变化条件。

情况2:R = 0,S = 1

在这种情况下,“S”输入为1,这意味着或非门B的输出将变为0。因此,或非门A的两个输入都变为0,因此或非门A的输出以及QQ的值为1(高电平)。由于在输入S处的“1”使输出切换到其一个稳定状态并将其设置为“1”,因此S输入被称为置位输入。

情况3:R = 1,S = 0

在这种情况下,“R”输入为1,这意味着或非门A的输出将变为0,即QQ为0(低电平)。因此,或非门B的两个输入都变为0,因此或非门B的输出为1(高电平)。由于在输入R处的“1”使输出切换到其一个稳定状态并将其复位为“0”,因此R输入被称为复位输入。

情况4:R = 1,S = 1

这种输入条件是禁止的,因为它迫使两个或非门的输出都变为0,这违反了互补输出的规则。即使应用了这种输入条件,如果下一个输入变为R = 0和S = 0(保持条件),那么它将在或非门之间引起“竞态条件”,这会导致输出处于不稳定或不可预测的状态。

因此,输入条件R = 1和S = 1根本不用。

所以,根据上述提到的情况和输入的不同组合,SR触发器的真值表如下表所示。

RSQ状态
00上一次状态无变化
011置位
100复位
11不适用(?)禁止

SR触发器的逻辑符号如下所示。

alt text

使用与非门设计的SR触发器(技术上,RS\overline{RS}触发器)

SR触发器也可以通过交叉耦合两个与非门来设计,但保持和禁止状态是相反的。这是一个低电平输入的SR触发器,因此我们称它为RS触发器。使用与非门的SR触发器电路如下图所示。

alt text

关于与非门的一个重要点是,其占主导地位的输入是0,即如果其任何一个输入是逻辑“0”,那么输出是逻辑“1”,而与另一个输入无关。只有当所有输入都是1时,输出才为0。记住这一点,让我们看看基于与非门的RS\overline{RS}触发器的工作原理。

情况1:R\overline{R} = 1,S\overline{S} = 1

S\overline{S}R\overline{R}输入都为高电平时,输出保持在先前状态,即它保持先前的数据。

情况2:R\overline{R} = 1,S\overline{S} = 0

R\overline{R}输入为高电平且S\overline{S}输入为低电平时,触发器将处于置位状态。由于R\overline{R}为高电平,与非门B的输出,即QQ,变为低电平。这导致与非门A的两个输入都变为低电平,因此,与非门A的输出,即QQ,变为高电平。

情况3:R\overline{R} = 0,S\overline{S} = 1

R\overline{R}输入为低电平且S\overline{S}输入为高电平时,触发器将处于复位状态。由于S\overline{S}为高电平,与非门A的输出,即Q\overline{Q},变为低电平。这导致与非门B的两个输入都变为低电平,因此,与非门B的输出,即QQ,变为高电平。

情况4:R\overline{R}= 0,S\overline{S} = 0

R\overline{R}S\overline{S}输入都为低电平时,触发器将处于未定义状态。因为S\overline{S}和R的低电平输入违反了触发器的规则,即输出应该相互补充。因此,触发器处于未定义状态(或禁止状态)。

下面的真值表总结了使用与非门设计的SR触发器的工作原理。

RSQ状态
11上一次状态无变化
101置位
010复位
00不适用(?)禁止

使用与非门的RS\overline{RS}触发器可以通过反向输入来转换为具有与普通SR触发器相同的真值表。与其使用反相器,我们也可以使用具有公共输入的与非门,如下图所示。

alt text

简单SR触发器的问题在于,它们对控制信号是电平敏感的(尽管图中未显示),这使得它们成为一种透明设备。为了避免这种情况,引入了门控或时钟控制的SR触发器(每当提到SR触发器时,通常指的是时钟控制的SR触发器)。时钟信号使设备变为边沿敏感(因此不具备透明性)。

时钟控制的SR触发器

时钟控制的SR触发器有两种可能的类型:基于与非门的和基于或非门的。使用与非门的时钟控制SR触发器的电路如下所示。

alt text

该电路是通过在基于与非门的SR触发器中增加两个与非门形成的。由于额外的与非门对输入进行了反向,因此输入是高电平有效的。时钟脉冲作为输入提供给这两个额外的与非门。

因此,时钟脉冲的转换是该设备工作中的一个关键因素。假设这是一个上升沿触发的设备,该触发器的真值表如下所示。

时钟RSQ状态
↓ 或 0 或 1XX上一次状态无变化(保持)
00上一次状态无变化(保持)
011置位
100复位
11不适用(?)禁止

使用或非门也可以实现相同的效果。使用或非门的时钟控制SR触发器的电路如下所示。

alt text

该图表明了一种RS触发器的结构(因为R与输出Q相关联),置位和复位的功能保持不变,即当S为高电平时,Q被置位为1;当R为高电平时,Q被复位为0。

应用

SR触发器是非常简单的电路,但由于存在非法状态(S和R均为高电平,S = R = 1),它们在实际电路中并不广泛使用。然而,它们被用于开关电路,因为它们提供了简单的开关功能(在置位和复位之间切换)。

一个这样的应用是开关防抖电路。SR触发器用于消除数字电路中开关的机械抖动。

机械抖动

机械开关在按下或释放时,通常需要一些时间才能稳定下来,并且会多次振动。这种开关的非理想行为被称为开关抖动或机械抖动。这种机械抖动会导致电压在低电平和高电平之间波动,这可能会被数字电路误读。

这可能导致脉冲信号的变化,这些不想要的脉冲序列会导致数字系统工作不正确。

alt text

例如,在信号的抖动期间,输出电压的波动非常大,因此寄存器会计算多个输入而不是单个输入。为了消除数字电路的这种行为,我们使用开关防抖电路,在这种情况下,使用SR触发器。

SR触发器如何消除机械抖动?

根据当前状态的输出,如果按下置位或复位按钮,则输出将以一种方式改变,即它会计算多个信号输入,即电路可能会接收到一些不想要的脉冲信号,因此由于机器的机械抖动,Q输出没有变化。

当按钮被按下时,接触点会影响触发器的输入,并且当前状态会发生变化,而电路/机器对任何其他机械开关的抖动都不会有进一步的影响。如果开关有额外的输入,则不会有任何变化,SR触发器将在一小段时间后复位。

因此,同一个开关只有在SR触发器执行状态变化后才会被使用,即在接收到单个时钟脉冲信号之后。

以下是开关防抖电路的电路图。

alt text

开关的输入连接到地(逻辑0)。每个输入端都连接有两个上拉电阻。它们确保当开关处于接触点之间时,触发器的输入S和R始终为1。

还可以使用或非门SR触发器构建另一个电路。

alt text

开关的输入连接到逻辑1。每个输入端都连接有两个下拉电阻。它们确保当开关处于接触点a和b之间时,触发器的输入S和R始终为0。

用于消除机械开关抖动的常用集成电路有MAX6816(单输入)、MAX6817(双输入)和MAX6818(八输入)开关防抖IC。这些集成电路包含了与SR触发器相关的必要配置。